home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / site-packages / psyco / classes.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2006-03-29  |  2KB  |  50 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.4)
  3.  
  4. """Psyco class support module.
  5.  
  6. 'psyco.classes.psyobj' is an alternate Psyco-optimized root for classes.
  7. Any class inheriting from it or using the metaclass '__metaclass__' might
  8. get optimized specifically for Psyco. It is equivalent to call
  9. psyco.bind() on the class object after its creation.
  10.  
  11. Note that this module has no effect with Python version 2.1 or earlier.
  12.  
  13. Importing everything from psyco.classes in a module will import the
  14. '__metaclass__' name, so all classes defined after a
  15.  
  16.        from psyco.classes import *
  17.  
  18. will automatically use the Psyco-optimized metaclass.
  19. """
  20. __all__ = [
  21.     'psyobj',
  22.     'psymetaclass',
  23.     '__metaclass__']
  24.  
  25. try:
  26.     from _psyco import compacttype
  27. except ImportError:
  28.     
  29.     class psyobj:
  30.         pass
  31.  
  32.     psymetaclass = None
  33.  
  34. import core
  35. from types import FunctionType
  36.  
  37. class psymetaclass(compacttype):
  38.     '''Psyco-optimized meta-class. Turns all methods into Psyco proxies.'''
  39.     
  40.     def __new__(cls, name, bases, dict):
  41.         bindlist = dict.get('__psyco__bind__')
  42.         for attr in bindlist:
  43.             dict[attr] = core.proxy(dict[attr])
  44.         
  45.         return super(psymetaclass, cls).__new__(cls, name, bases, dict)
  46.  
  47.  
  48. psyobj = psymetaclass('psyobj', (), { })
  49. __metaclass__ = psymetaclass
  50.